home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
redakcyjne
/
programy
/
Tlen 6.0.1.12 pl
/
tleninst60112.exe
/
sdk
/
TlenSources
/
plugin
/
plugin_http.h
< prev
next >
Wrap
C/C++ Source or Header
|
2006-08-30
|
4KB
|
139 lines
#ifndef plugin_httpH
#define plugin_httpH
/**
* Umozliwia wyslanie zapytania http do serwera.
*/
#define TLEN_HTTP_CALLFUNCTION "Tlen/HTTP/CallFunction"
/// Wyslanie zapytania
#define TLEN_HTTP_MAKEREQUEST 1
/// Anulowanie zapytania
#define TLEN_HTTP_CANCELREQUEST 2
typedef struct {
int structSize; //wielko£µ struktury w bajtach
HANDLE QueryHandle;
char *QueryID; //Unikalny ID, kt≤ry przypisujemy zapytaniu, ┐eby je rozpoznaµ p≤ƒniej │atwo
char *URL;
char *Reference;
char *Cookie;
char *Accept;
char *Agent;
char *ContentTypePost;
char *PostData;
int PostDataLength;
int Flags;
int Retries;
int Timeout;
char *HttpClientID; //je£li chcemy aby dane requesty by│y po kolei, to u┐ywamy tego samego ID dla nich
TLENFUNCTION CallBackFunc;
char *CallBackFuncName;
void *OwnerData;
//Do odpowiedzi
int ErrorCode;
unsigned char *Data;
unsigned int DataLength;
unsigned char *Header;
unsigned int HeaderLength;
} HttpQueryDef;
typedef struct {
int structSize; //wielko£µ struktury w bajtach
HttpQueryDef *HttpQuery;
unsigned char *DataChunk;
unsigned int DataChunkLength;
} HttpDataChunkDef;
//LPARAM
/// Rodzaj zapytania
#define HTTP_QUERY_FLAG_GET 0x00000001
/// Poni┐sze dwa typy przetwarzane sa tak samo
#define HTTP_QUERY_FLAG_POST 0x00000002
#define HTTP_QUERY_FLAG_HEAD 0x00000004
#define HTTP_QUERY_FLAG_NOTIFYONDATACHUNKS 0x00000100
#define HTTP_QUERY_FLAG_ONLYDATACHUNKS 0x00000200
/// Informacja o tym ze przetwarzanie zapytania zostalo przerwane
#define HTTP_QUERY_FLAG_ABORTED 0x10000000
//QueryID
/// Pobiera informacje o konfiguracji tlenu
#define HTTP_QUERY_ID_TLENCONFIG "Config"
/// Pobiera informacje o konfiguracji reklam
#define HTTP_QUERY_ID_ADINFO "AdInfo"
/// Pobiera informacje juz o konkretnych reklamach dla poszczegolnych okien
#define HTTP_QUERY_ID_MAINADINFO "MainAdInfo"
/// Pobranie informacji na temat reklamy dla okna rozmowy
#define HTTP_QUERY_ID_CHATADINFO "ChatAdInfo"
/// Sprawdza czy zostala wypelniona ankieta na temat rozmow komorkowych
#define HTTP_QUERY_ID_SMSPOLL "SMSPoll"
/// Wyslanie ankiety na temat telefonow komorkowych
#define HTTP_QUERY_ID_SMSPOLLSEND "SMSPollSend"
#define HTTP_QUERY_ID_APPMSG "AppMsg"
//HttpClientID
/// Identyfikator typu klienta
#define HTTP_CLIENT_ID_TLEN "HttpClient/Tlen"
#define HTTP_CLIENT_ID_GG "HttpClient/GG"
//WPARAM
/// Wyslano zapytanie
#define HTTP_EVENT_REQUESTDONE 1
/// Obecnie niewykorzystywane
#define HTTP_EVENT_HEADRECV 2
#define HTTP_EVENT_DATARECV 3
#define HTTP_EVENT_DATASENT 4
/******************************************************************************/
/**** Zapytanie do serwera ****/
/******************************************************************************/
/*
HttpQueryDef def;
InitializeStruct(def);
def.Flags = HTTP_QUERY_FLAG_GET;
def.URL = adres serwera;
def.HttpClientID = identyfikator klienta;
def.QueryID = identyfikator zapytania;
def.CallBackFunc = callback;
def.Agent = "Mozilla/4.7 [en] (Win98; I)";
def.Accept = "";
tlen_functions->CallTlenFunction(hInst, TLEN_HTTP_CALLFUNCTION, (WPARAM) TLEN_HTTP_MAKEREQUEST, (LPARAM) &def);
*/
/******************************************************************************/
/**** Odpowiedz serwera do serwera ****/
/******************************************************************************/
/* Odpowiedz od serwera otrzymujemy do funkcji podanej w calbacku */
/* gdzie WPARAM jest HTTP_EVENT_REQUESTDONE w przypadku poprawnej odpowiedzi */
/*
int callback (WPARAM wParam, LPARAM lParam)
{
HttpQueryDef *def = (HttpQueryDef *) lParam;
...
}
*/
#endif